package rabbitmq.topic;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import org.pb.basic.util.ConnectionUtils;

/**
 * 广播模式的生产者
 * @author pb
 */
public class Producer {
        // 生产者不直接连接队列
//    private static final String QUEUE = "fanout_queue";

    private static final String EXCHANGE = "fanout_exchange";

    public static void main(String[] args) throws Exception {
        // 获取到连接
        Connection connection = ConnectionUtils.getConnection();
        // 获取通道
        Channel channel = connection.createChannel();

        // 声明交换机, 第一个参数是交换机名，第二个参数是交换机的类型
        channel.exchangeDeclare(EXCHANGE, "topic");

        // 声明消息体
        String msg = "定向模式";

        // 发布消息, 第一个参数是发布消息的交换机名，二三个参数为routingKey和属性值，最后一个参数是将字符串转化为字节数组
        channel.basicPublish(EXCHANGE, "consumer2.test", null, msg.getBytes());

        channel.close();
        connection.close();
    }

}
